select 

       vv.pod,
       competenze_riepilogo_voci.codice_voce,
       vv.potenza_impegnata,
      
      vv.codice_tipo_uso,
      min(vv.DATA_ENTRATA_IN_VIGORE) data_entrata_in_vigore_minima,
        min(vv.data_avvio_richiesto),min(dar),max(vv.data_chiusura_richiesta),
        sum(vv.imponibile) imponibile_COMPONENTI,
        SUM(competenze_riepilogo_voci.IMPONIBILE_IVA) IMPONIBILE,
        sum(competenze_riepilogo_voci.QUANTITA_VOCE) quantita_voce,
        case when to_number(max(vv.data_chiusura_richiesta)-min(vv.dar)+1) > 365 
        then 365 else to_number(max(vv.data_chiusura_richiesta)-min(vv.dar)+1) end gg
        
 from db5.competenze_riepilogo_voci@pgu3,
 
 (
select 
case when rk.progressivo_voce='010' then null else min(rk.DATA_ENTRATA_IN_VIGORE) end data_entrata_in_vigore,
rk.progressivo_voce,
       concat('IT018E',concat(substr(concat('00000000000',fo.codice_allacciamento),-7,7),substr(fo.progressivo_utenza,-1,1))) POD,
       contratti.codice_contratto,
       case when contratti.CODICE_TIPO_USO in('R','N')  then contratti.potenza_impegnata else 
            case when contratti.POTENZA_IMPEGNATA <= 16.5 then 16.5 else contratti.potenza_impegnata end end potenza_impegnata,
       
        RK.codice_bolletta,
        contratti.codice_tipo_uso,contratti.codice_tariffa,contratti.codice_uso,
        contratti.data_avvio_richiesto,
        case when trunc(contratti.DATA_AVVIO_RICHIESTO) < to_date('01/01/^Anno Bollettazione aaaa;N;Numerico^^','dd/mm/yyyy') then 
        to_date('01/01/^Anno Bollettazione aaaa;N;Numerico;1^^','dd/mm/yyyy') else trunc(contratti.data_avvio_richiesto) end dar, 
       case when contratti.stato_contratto = 'A' or contratti.stato_contratto = 'S' or contratti.stato_contratto = 'F' 
       then to_date('31/12/9999','dd/mm/yyyy')
        else trunc(contratti.data_chiusura_richiesta) end data_chiusura_richiesta,
        
       sum(RK.TARIFFA_COMPONENTE*QUANTITA_SCAGLIONE) imponibile
from db5.contratti@pgu3, --bollette, 
tmpmark RK,db5.forniture@pgu3 fo
where fo.CODICE_GESTIONE = contratti.codice_gestione
          and fo.CODICE_SERVIZIO = contratti.codice_servizio
          and fo.CODICE_CONTRATTO = contratti.codice_contratto
          and fo.CODICE_GESTIONE=contratti.codice_gestione
               
          
          
           and rk.anno_bollettazione = ^Anno Bollettazione aaaa;N;Numerico;1^^
   
           and  contratti.codice_gestione = 'UNRG '  
           and contratti.codice_servizio = 'E'
           and rk.PROGRESSIVO_VOCE in ('010','010TRAS','010VEND')
           and rk.contratto_estratto = contratti.codice_contratto
          --and fo.codice_allacciamento in(1048,549,538)
          --and fo.progressivo_utenza = 1
                 
           and rk.descrizione_componente IN( 'CCA','PE','PD','PPE1','PPE2','DISP31','DISP32','CAD','UC1','DISP3','PPE','PCV3')
               

                      
           group by 
           concat('IT018E',concat(substr(concat('00000000000',fo.codice_allacciamento),-7,7),substr(fo.progressivo_utenza,-1,1))),
           contratti.codice_contratto,
              case when contratti.CODICE_TIPO_USO in('R','N')  then contratti.potenza_impegnata else 
            case when contratti.POTENZA_IMPEGNATA <= 16.5 then 16.5 else contratti.potenza_impegnata end end,
       RK.codice_bolletta,
        contratti.codice_tipo_uso,contratti.codice_tariffa,contratti.codice_uso,
        contratti.data_avvio_richiesto,
  case when contratti.stato_contratto = 'A' or contratti.stato_contratto = 'S' or contratti.stato_contratto = 'F' 
       then to_date('31/12/9999','dd/mm/yyyy')
        else trunc(contratti.data_chiusura_richiesta) end,
        rk.progressivo_voce
     )VV
     where 
            competenze_riepilogo_voci.CODICE_RIFERIMENTO = vv.codice_contratto
           and competenze_riepilogo_voci.CODICE_GESTIONE ='UNRG'
           and competenze_riepilogo_voci.CODICE_SERVIZIO ='E'
           and  competenze_riepilogo_voci.codice_voce in ('010','010TRAS','010VEND')
           and competenze_riepilogo_voci.codice_competenza = vv.codice_bolletta
     group by      
     vv.pod,      
     vv.potenza_impegnata,
      competenze_riepilogo_voci.codice_voce,
       vv.codice_tipo_uso
      